﻿#ifndef PST_IVTKFILTER_H
#define PST_IVTKFILTER_H

#include <vtkDataObject.h>
#include <iostream>

namespace pst
{
    // -----------------------------------------------------------------------------
    // 1. 定义统一的过滤器接口
    // -----------------------------------------------------------------------------
    // 
    class IVtkFilter
    {
    public:
        virtual ~IVtkFilter() = default;
        virtual void setInput(vtkDataObject* input) = 0;
        virtual vtkDataObject* getOutput() = 0;
        virtual void update() = 0;

        virtual void setEnabled(bool enabled)
        {
            m_enabled = enabled;
        }
        virtual bool isEnabled() const
        {
            return m_enabled;
        }

    protected:
        bool m_enabled{ true };
    };
}
#endif // !
